System and method for preventing automated programs in a network

ABSTRACT

A system and method are diminish the use of an automated program in a networked environment. A server can provide access to a service. In addition, a software module provides a client computer with a visual test upon a request transmitted through a network by the client computer for the service. The visual test requires the client computer to perform a predetermined action on a shaped object displayed on a video display in order to gain access to the service. A validation software module receives a request from the software module for the shaped object to be displayed on the video display. Further, the validation software module randomly selects a shaped object to be transmitted to the software module. The validation software module provides the software module with the shaped object. An access software module receives an access instruction from the validation software module if the client computer passes the visual test. The client computer can access the service if the client computer passes the visual test.

BACKGROUND

1. Field of the Invention

This invention relates generally to a method and system for restrictingaccess to electronic services. More particularly, the present inventionrelates to diminishing the use of automated programs in a networkedenvironment.

2. General Background

Many computer users currently use Internet services such as electronicmail (“e-mail”). The user connects his or her computer to the Internetthrough an Internet Service Provider (“ISP”). The user can then open ane-mail account through any number of e-mail services. Many of thesee-mail services have a registration process in which the user mustprovide information such as a name, a user name, an address, etc. inorder to open an e-mail account. Once an e-mail account is opened, thecomputer user can then send and receive messages from other computerusers that use the Internet.

One of the continual problems facing Internet users is receiving e-mailcalled SPAM. SPAM is essentially junk e-mail that has relatively littleworth to most e-mail users. E-mail users must spend a great deal of timelooking through and deleting these unwanted e-mails from their mailboxesin order to keep their mailboxes from exceeding size limits imposed byISP's. Further, SPAM expends a great deal of bandwidth on the Internet.A large number of resources are needed for transmitting and receivingjunk e-mail. As a result, Internet resources that are used for moreuseful data flow have slower response times and are less efficient.

SPAM can be propagated in many different ways. One of the main causes ofSPAM is computers that use scripts to impersonate users. During theregistration process for an e-mail address, a computer can use a scriptto generate multiple e-mail addresses that do not even have acorresponding human user. These multiple e-mail addresses can then beused by the computer to send unwanted e-mail messages to other Internetusers.

Computers can also be used to run scripts that send out multiple e-mailmessages from a user generated e-mail address or from a script generatede-mail address to the same set of recipients. A computer user would takea great deal of time to send out a large number of e-mail messages to aset of recipients. On the other hand, a computer running a script cantransmit e-mail messages at the speed that it would take thousands ofcomputer users to perform the same task in the same amount of time.

Another area of services in which scripts pose a large problem isInternet voting services and Internet contests. The Internet has manyweb pages in which users can participate in a poll. For instance, userscan vote for their favorite musician, artist, athlete, etc. The user canalways return to the web page and vote another time, but the chances aresmall that most users will bother trying to vote again. However, acomputer can use a script to vote a large number of times in a verysmall amount of time. The result is that the voting results are skewed aby a large amount. Further, a user that enters a contest will almostnever win if a script places thousands of entries into the same contest.

Some approaches to solving the problem of computers running scriptsinvolve the use of authentication schemes. For instance, a randomlyselected string can be modified so that only a human user will be ableto guess the result. A string of text can be rearranged over a shadedbackground so that the user can pick out the text. The user is thenrequired to type in the text that stands out from the background.

A number of problems exist with this type of authentication scheme.Computer users do not want to spend the time to perform tedious taskssuch as typing in a string of text to set up an e-mail account or tosend an e-mail. Further, the static feature of this type of test allowsmore advanced image filtering programs to figure out the string.Finally, e-mail software that is dependent on a character set may makeinternational deployment difficult.

SUMMARY

In order to solve the problems discussed above, a system and method aredisclosed for diminishing the use of an automated program in a networkedenvironment. In one aspect, a system includes a server that can provideaccess to a service. Accordingly, the service is stored on a memoryassociated with server. In addition, a software module is stored on theserver. The software module provides a client computer with a visualtest upon a request transmitted through a network by the client computerfor the service. The visual test is displayed on a video display.Further, the visual test requires the client computer to perform apredetermined action on a shaped object displayed on the video displayin order to gain access to the service. In addition, a validationsoftware module is stored on the server. The validation software modulereceives a request from the software module for the shaped object to bedisplayed on the video display. Further, the validation software modulerandomly selects a shaped object to be transmitted to the softwaremodule. The validation software module provides the software module withthe shaped object. An access software module receives an accessinstruction from the validation software module if the client computerpasses the visual test. The client computer can access the service ifthe client computer passes the visual test.

In another aspect, a method restricts access of an automated program tocomputing services. A request to perform a computing service isreceived. Further, a determination is made as to whether a set ofcriteria has been met. If the set of criteria has not been met, a visualtest is requested. The visual test includes a requirement that apredetermined action on a shaped object take place within a given timeperiod. If the set of criteria has been met or if the predeterminedaction on the shaped object takes place within the given time period,the computing service is performed.

In another aspect, a system diminishes the use of an automated programin a networked computing environment. The system a server that canprovide access to a service. Accordingly, the service is stored on amemory associated with server. In addition, a software module is storedon the server. The software module provides a client computer with avisual test upon a request transmitted through a network by the clientcomputer for the service. The visual test is displayed on a videodisplay. Further, the visual test requires the client computer toperform a predetermined action on a geometric shape displayed on thevideo display in order to gain access to the service. In addition, avalidation software module is stored on the server. The validationsoftware module receives a request from the software module for thegeometric shape to be displayed on the video display. Further, thevalidation software module randomly selects a geometric shape to betransmitted to the software module, wherein the validation softwaremodule provides the software module with the geometric shape. An accesssoftware module receives an access instruction from the validationsoftware module if the client computer passes the visual test. Theclient computer can access the service if the client computer passes thevisual test.

In yet another aspect, a system diminishes the use of an automatedprogram in a networked computing environment. The system a server thatcan provide access to a service. Accordingly, the service is stored on amemory associated with server. In addition, a software module is storedon the server. The software module provides a client computer with avisual test upon a request transmitted through a network by the clientcomputer for the service. The visual test is displayed on a videodisplay. Further, the visual test requires the client computer toperform a predetermined action on a non-textual based image displayed onthe video display in order to gain access to the service. In addition, avalidation software module is stored on the server. The validationsoftware module receives a request from the software module for thenon-textual based image to be displayed on the video display. Further,the validation software module randomly selects a non-textual basedimage to be transmitted to the software module, wherein the validationsoftware module provides the software module with the non-textual basedimage. An access software module receives an access instruction from thevalidation software module if the client computer passes the visualtest. The client computer can access the service if the client computerpasses the visual test.

In another aspect, a method restricts access of an automated program inan electronic mail service. A request is received to send an e-mailmessage. Further, a determination is made as to whether a maximum numberof recipients has been exceeded. A visual test is requested if themaximum number of recipients has been exceeded. The visual test includesa requirement that a predetermined action on a shaped object take placewithin a given time period. Further, the e-mail message is sent if theset of criteria has been met or if the predetermined action on theshaped object takes place within the given time period.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computing environment in which SPAM is not blocked.

FIG. 2 illustrates a SPAM blocking system which can be used to reducethe amount of SPAM that the SPAM receiving client receives.

FIG. 3 illustrates a video display in which a computer user can composean e-mail message using the e-mail application.

FIG. 4 illustrates a process for reducing the use of automated scriptsin services such as the account registration application, the e-mailapplication, the poll application, or the contest application.

DETAILED DESCRIPTION OF THE INVENTION

In order to reduce the amount of SPAM that computer users receive, asystem and method are disclosed for effectively distinguishing betweenhuman users and computer scripted users. The system and method make itdifficult for automated scripts or any other automated computer programsto use image filtering programs to gain access to computing services.

FIG. 1 illustrates a computing environment 100 in which SPAM is notblocked. A sending client 102 is a computer from which a user can sendan e-mail message. One of ordinary skill in the art will recognize thatthe sending client 102 can be any computing device such as a personalcomputer (“PC”), laptop, personal digital assistant (“PDA”), cellularphone, MP3 player, remote control, etc. The sending client 102 connectsto a server 106 through the Internet 104. One of ordinary skill in theart will also recognize that this system and method can work in any typeof network configuration including but not limited to a wirelessnetwork, local area network (“LAN”), world area network (“WAN”), etc. Byconnecting to the server 106, the sending client 102 is able to use ane-mail service 108 to compose an e-mail message. The server 106 isconnected to a database 110 which stores data such as the inbox of thesending client 102. The database 110 can also store data such as anaddress book so that the user can send an e-mail to another user withouthaving to remember the other user's e-mail address.

After the user composes the e-mail message, the user presses a sendbutton (not shown) to instruct the e-mail service 108 to send the e-mailmessage to another e-mail address. The e-mail message is then routedthrough the Internet 104 to the appropriate e-mail address. A receivingclient 112 then receives the e-mail message.

While the receiving client 112 is a computer that has a user who wantedto receive an e-mail message from the sending client 102, many computerusers receive unwanted SPAM. One of the propagators of SPAM is a scriptsending client 114 that uses a script 116 to impersonate human users.One of ordinary skill in the art will recognize that the script 116 canbe written using any known computer language. After the script sendingclient 114 connects to the server 106 through the Internet 104, thescript sending client can compose a large number of e-mail messages in ashort period of time using the e-mail service 108. As a result, a largenumber of e-mail messages can be transmitted through the Internet 104 toa SPAM receiving client 118.

FIG. 2 illustrates a SPAM blocking system 200 which can be used toreduce the amount of SPAM that the SPAM receiving client 118 (FIG. 1)receives. As illustrated in FIG. 2, the sending client 102 or the scriptsending client 114 can connect to a SPAM blocking server 220 through theInternet 104. The SPAM blocking server 220 stores an accountregistration application 222. In one embodiment, the computer user canuse the account registration application 222 to create an e-mailaccount. In another embodiment, the computer user can use the accountregistration application 222 to subscribe to electronic services such aselectronic newsletters, electronic news, e-mail notifications, sportsscores, etc. Further, the SPAM blocking server has an e-mail application224 in which a user can send or receive e-mail using an e-mail accountset up through the account registration application. In addition, theSPAM blocking server 220 has a poll application 226 in which the usercan vote on a topic displayed on a web page stored in a database 230associated with the SPAM blocking server 220. Finally, the SPAM blockingserver 220 has a contest application 228 in which the computer user canenter a contest to win a prize. One of ordinary skill in the art willrecognize that other types of applications such as games, videos, music,computer research, etc. can be provided by the SPAM blocking server 220.

In order for a computer user to use the account registration application222, the e-mail application 224, the poll application 226, the contestapplication 228, or any other application restricted in a like manner,the computer user must prove that the computer user is human as opposedto the script 116. An authentication system will now be discussed fordifferentiating the human computer user from the script 116.

Restrictions on the use of certain applications stored on the SPAMblocking server 220 may invoke a flash application 230 that will providea visual test for the computer user to pass in order for the restrictionto be met. In one embodiment, the flash application 230 provides avisual test when a user attempts to register for an e-mail account usingthe account registration application 222. The SPAM blocking server 220will likely want to ensure that all users that register for e-mailaccounts are human users, not automated scripts. The SPAM blockingserver 220 can have stringent requirements at the outset to preemptivelyward off propagators of SPAM. One of ordinary skill in the art willrecognize that the flash application 230 is mean to include futuredevelopments in graphics software. Future development may lead tographics software that is even more difficult for image filteringprograms to look through.

In one embodiment, a computer user submits identification information(e.g., name, user name, address, etc.) through the account registrationapplication 222. After entering all of the information in the form, theuser indicates that he or she has completed the form by pressing abutton such as a send button, a complete button, a done button, etc. Theflash application 230 then provides a visual test prior to submittingthe information for establishing the e-mail account. In one embodiment,the flash application 230 displays a screen that has a randomly selectedshaped object positioned at a randomly selected position therein. In oneembodiment, the shaped object is a geometric shape. In anotherembodiment, the shaped object is a cartoon character. For instance, theshaped object can be Mickey Mouse. In another embodiment, the shapedobject can be a graphically imaged character. For instance, an image ofa person, pet, object, etc. can be graphically encoded to be used as theshaped object. In another embodiment, the shaped object is a graphicalicon. For instance, images that are displayed on a computer can be usedas the shaped object. In yet another embodiment, the flash application230 displays a screen that has a randomly selected non-textual imagepositioned at a randomly selected position therein.

The computer user must select the shape with a mouse pointer to pass thevisual test. In one embodiment, the user must select the shape within agiven time limit. In another embodiment, if the user does not select theshape within the given time limit, the display screen is erased andanother randomly selected shape appears at another randomly selectedposition within the display screen. In yet another embodiment, therandomly selected shapes at randomly selected positions are chosen anderased for a pre-determined number of times. If the user has not chosenthe correct shape within the pre-determined number of displays ofrandomly selected shapes displayed in randomly selected positions, theuser is not allowed to register for an e-mail account.

The use of the flash application 230 to generate the visual test makesthe use of image filtering programs very difficult. The flashapplication 230 only appears to display one shape to the user on thedisplay screen. However, the flash application 230 actually provides avariety of shapes to the display screen which are positioned indifferent layers of the display screen. In other words, the user onlysees one shape on the display screen, but an image filtering programwould see a large number of shapes to choose from.

The visual test is not limited to a randomly selected shape appearing ata randomly selected position. In an alternate embodiment, the visualtest is a randomly selected shape that moves from one position in thedisplay screen to a variety of different positions in the displayscreen. The user must “catch” the moving object by placing the mousepointer over the moving object and by pressing the mouse button when themouse pointer is over the moving object. An image filtering program willhave an even more difficult time determining the location of a movingobject and also determining the coordinates for the movement of themouse pointer to “catch” the moving object. In yet another embodiment,the visual test requires the dragging of an object from a startingposition to an ending position. An image filtering program would havegreat difficulty finding the location of the randomly selected object,determining the distance that the object has to be moved, and providingthe coordinates for the positions that the mouse has to drag the objectwith. In yet another embodiment, the user must drag multiple objectstogether. For example, the user may have to drag one dot to touchanother. The user may also have to put pieces of a puzzle together. Inyet another embodiment, a user can shoot an object such as a ball at atarget. The user may also be able to use a computerized gun orprojectile propagator to send a computerized bullet or computerizedprojectile at a target in order to pass the visual test. For example,the user may play a computerized basketball to shoot a computerizedbasketball into a hoop to pass the visual test. The user may also berequired to play computerized games such as pinball to pass the visualtest.

In yet another embodiment, the flash application 230 can provide avisual test when a user attempts to use the e-mail application 224 tosend an e-mail message. The SPAM blocking server 220 will want toprevent automated scripts from sending messages to a large number ofrecipients. On the other hand, the SPAM blocking server 220 may want toallow a human user to send a large number of messages. In oneembodiment, a computer user composes an e-mail message and presses asend button in a graphical user interface (“GUI”). If the number ofrecipients is greater than a predetermined number of recipients, thenthe flash application 230 displays a visual test in the GUI. In oneembodiment, the visual test is displayed in the same GUI that displaysthe e-mail message that is being composed. In another embodiment, thevisual test is displayed in a separate GUI from the GUI that displaysthe e-mail message.

In another embodiment, the flash application 230 can provide a visualtest when a user attempts to use the poll application 226. After thecomputer user presses a vote button displayed in a GUI, the flashapplication 230 can display a visual test that the computer user mustpass before the SPAM blocking server 220 will actually place the vote.In another embodiment, the computer user must pass the visual testbefore having the opportunity to place a vote. One of ordinary skill inthe art will recognize that the poll application 226 can be any of awide variety of computer applications in which a vote is placed.

In another embodiment, the flash application 230 can provide a visualtest when a user attempts to use the contest application 228 to enter acontest. One of ordinary skill in the art will recognize that thecontest can be a game, sweepstakes, etc. Further, one of ordinary skillin the art will recognize that the contest can be with or without aprize winning.

In yet another embodiment, the flash application 230 can provide avisual test for any type of service that can be provided through anetwork. The flash application 230 can even be used as an extra layer ofsecurity for accessing secure web pages. For example, the visual testcan be used as an extra layer of protection besides the use of a username and a password.

The flash application 230 generates the visual test for the accountregistration application 222, the e-mail application 224, the pollapplication 226, or the contest application 228 by communicating with avalidation module 232. In one embodiment, the validation module 232 is avalidation application programming interface (“API”). In order to createa visual test, the flash application 230 requests a randomly selectedgeometric shape from the validation module 232. Subsequently, thevalidation module 232 provides a randomly selected geometric shape andan ID to the flash application 230. In one embodiment, the ID is atransaction ID. In another embodiment, the ID is a transaction ID. Inyet another embodiment, the ID is a unique user identification. Anexample of a unique user identification is a “cookie”. In anotherembodiment, the ID is an Internet Protocol (“IP”) address. In yetanother embodiment, the ID is an IP address and the date that a requestfor services was sent.

In one embodiment, the validation module 232 requests a randomlyselected geometric shape from a SPAM Blocker application 234 which canaccess an image database 236. In yet another embodiment, the validationmodule 232 communicates directly with the image database 236.

The ID is a textual string used for identifying the geometric shape thatwas sent to the flash application 230 at a specific time. The validationmodule 232 retains a copy of the ID and the geometric shape in a memoryassociated with the validation module 232 for future lookup. Thevalidation module 232 then sends the geometric shape and the ID to theflash application 230. In one embodiment, the validation module 232encrypts the data that the validation module 232 provides to the flashapplication 230. One of ordinary skill in the art will be familiar withthe different encryption algorithms. After receiving and decrypting thedata (if necessary), the flash application 230 determines a randomposition within the display of the GUI in which to display the randomlyselected geometric shape. In another embodiment, the validation module232 also randomly selects a variety of additional geometric shapes thatcan be positioned by the flash application 230 at different layers ofthe GUI. As discussed above, the use of the additional geometric shapesat different layers of the GUI will help prevent image filteringprograms from passing the visual test. In yet another embodiment, theflash application 230 can randomly select the geometric shape and/or theadditional geometric shapes.

The flash application 230 can set different criteria for passing thevisual test. In one embodiment, the computer user must select therandomly selected and randomly positioned geometric shape within a giventime period. If the computer user does not select the randomly selectedand randomly positioned geometric shape within the given time period,the computer user does not pass the visual test. If the computer userselects the randomly selected shape, the flash application 230 sends therandomly selected shape chosen by the computer user along with the ID tothe validation module 232. In one embodiment, the randomly selectedshape and the ID are encrypted by the flash application 230 prior tobeing sent to the validation module 232. After the validation module 232receives the randomly selected geometric shape and the ID, thevalidation module 232 decrypts the randomly selected geometric shape andthe ID (if necessary) and compares the randomly selected geometric shapeand the ID that were received with the randomly selected geometric shapeand the ID that were stored in the memory associated with the flashapplication 230. If the comparison results in a match, the computer userhas passed the visual test. The validation module 232 then sends anaccess instruction to the Spam Blocker Application 234 which allows thecomputer user to access the requested service. If the computer user isan automated script, the computer user may attempt to guess a shape anda ID to be sent to the validation module 232. Accordingly, thevalidation module 232 will compare the received shape and the ID withthe randomly selected shape and the ID that the validation module 232stored in memory. A pure guess by an automated script is unlikely toproduce the randomly selected shape and the ID. Therefore, thevalidation module 232 will likely find an incorrect comparison and denythe computer user access to the requested service.

In one embodiment, the validation module 232 will expire the ID for therandomly selected geometric shape after a comparison is made regardlessof whether or not the comparison is successful. If the computer user isan automated script, the computer user may attempt to send a largenumber of guessed shapes and guessed ID's to the validation module 232.By expiring the current ID for a given randomly selected geometricshape, the validation module 232 further decreases the likelihood thatan automated script will gain access to a requested service.

The Spam Blocker Application 234 is essentially a software program thatprevents the computer user from accessing a requested service withoutmeeting certain requirements. In one embodiment, the Spam BlockerApplication 234 provides permission to the Flash Application 230 for thecomputer user to access the requested service. In yet anotherembodiment, the Flash Application 230 provides permission directly tothe account registration application 222, the e-mail application 224,the poll application 226, or the contest application 228. In yet anotherembodiment, the SPAM Blocker Application provides the permission to theValidation Module 232. In one embodiment, the SPAM Blocker requiresother criteria be met by other testing applications and providespermission to the Validation Module when these other testingapplications have been passed.

One of ordinary skill in the art will recognize that the SPAM blockingsystem 200 can be applied to other types of applications such as games,videos, music, computer research, etc. The SPAM blocking system 200 caneven be used to restrict the viewing of content on a web page.

FIG. 3 illustrates a video display 300 in which a computer user cancompose an e-mail message using the e-mail application 224. The videodisplay 300 can be a GUI displayed in a web browser or in anothersoftware application. The video display 300 has data entry lines such asa To data entry line 302, a Subject data entry line 304, and a CC dataentry line 306. One of ordinary skill in the art will recognize thatadditional data entry lines such as a From data entry line can beincorporated into the video display. The computer user can enterrecipients into the To data entry line 302. In addition, the computeruser can enter the text of the e-mail message into a text box 308. Afterthe user has finished composing an e-mail message, the computer user canpress a send button 310 to indicate that the e-mail should be sent tothe recipient(s). The flash application module 230 (FIG. 2) will requesta randomly selected shape from the validation module 232. In oneembodiment, the flash application 230 displays a randomly selected shape312 that the flash application 230 receives from the validation module232 in a verification display 314. A set of directions 316 is displayedso that the computer user is informed of the action that the computeruser must take to pass the visual test displayed in the verificationdisplay 314. In one embodiment, the set of directions 316 is constructedaccording to criteria stored in the flash application 230. If thecomputer user performs the action as instructed by the set of directions316 in a given time period, the composed e-mail message is sent to therecipients. On the other hand, if the computer user does not perform therequested action within the given time period, the computer's e-mailmessage does not get sent to the recipients based on the assumption thata human user would have been able to pass the visual test depicted inthe verification display 314. In another embodiment, the computer useris given multiple chances to pass the visual test. For instance, acomputer user may get up and walk away from the computer as the visualtest is displayed. Therefore, after the given time period has elapsed,another randomly selected shape appears within the verification window.The computer user will only be given a predetermined number of chances.Each of these chances could comprise different visual tests. The visualtest on the first chance may be selecting a geometric object while thevisual test on the second chance may be dragging a geometric object froma starting position to an ending position. The set of directions 316would change on each chance to inform the computer user of therequirements need to pass the visual test. By varying the visual test oneach chance given to the computer user, an automated script has an evenmore difficult time in gaining access to the requested services. In yetanother embodiment, the computer user is only given subsequent chancesif the computer user does not make an attempt at the visual test. Inanother embodiment, the verification display 314 is a separate screenfrom the visual display 300. In yet another embodiment, the verificationdisplay 314 is displayed in the same web browser but on a different webpage from the visual display 300.

One of ordinary skill in the art will recognize that GUI's similar tothe visual display 300 can be constructed for services other than thee-mail application 224, e.g. the account registration application 222,the poll application 226, or the contest application 228. Further, oneof ordinary skill in the art will recognize that the visual display 300can be displayed on an LCD screen, a plasma screen, a PDA display, andany other visual medium for displaying data.

FIG. 4 illustrates a process 400 for reducing the use of automatedscripts in services such as the account registration application 222,the e-mail application 224, the poll application 226, or the contestapplication 228. By way of example, the process 400 is explained withrespect to the e-mail application 224. After a computer user composes ane-mail message as explained in FIG. 3, the computer user presses thesend button 310 at a process block 402 to send the e-mail message therecipient(s). The process 400 then advances to a decision block 404where the process 400 determines if the number of recipients exceeds apredetermined minimum requirement. Computer users would beinconvenienced if they had to pass the visual test every time they sendan a e-mail message to a few people. Therefore, if the number ofrecipients is less than a predetermined minimum, the process 400advances to a process block 412 where the e-mail message is sent to therecipient(s). However, if the number of recipients is greater than apredetermined minimum, then the process 400 advances to a process block406 where the flash application 230 (FIG. 2) requests a randomlygenerated geometric shape from the validation module 232 based on theassumption that an e-mail sent to a large number of recipients may bemade by an automated script. In another embodiment, a maximum number ofrecipients can also be set and test in the process block 404.

After the flash application 230 receives the randomly selected geometricshape at the process block 406, the flash application 230 selects arandom position within the verification display 314 to display therandomly selected geometric shape at a process block 408. The process400 then advances to a decision block 410 where the process 400determines if the computer user has selected the geometric shape withina predetermine maximum amount of time. If the computer user selects thegeometric shape within the predetermined amount of time, the process 400assumes that the computer user is a human user and sends the e-mail.However, if the computer user does not select the geometric shape withinthe predetermine amount of time, the process 400 assumes that thecomputer user is an automated script and does not send the e-mailmessage. One of ordinary skill in the art will recognize that otherembodiments may include the variations discussed with respect to FIG. 3for providing the computer user with multiple chances after the maximumperiod of time has elapsed subject to a maximum number of chances.

While the above description contains many specifics, these should not beconstrued as limitations on the scope of the invention, but rather as anexemplification of preferred embodiments thereof. The invention includesany combination or subcombination of the elements from the differentspecies and/or embodiments disclosed herein. One skilled in the art willrecognize that these features, and thus the scope of the presentinvention, should be interpreted in light of the following claims andany equivalents thereto.

1. A system for diminishing the use of an automated program in anetworked computing environment comprising: a server that can provideaccess to a service, wherein the service is stored on a memoryassociated with server; a software module stored on the server, whereinthe software module provides a client computer with a visual test upon arequest transmitted through a network by the client computer for theservice, wherein the visual test is displayed on a video display,wherein the visual test requires the client computer to perform apredetermined action on a shaped object displayed on the video displayin order to gain access to the service; a validation software modulestored on the server, wherein the validation software module receives arequest from the software module for the shaped object to be displayedon the video display, wherein the validation software module randomlyselects a shaped object to be transmitted to the software module,wherein the validation software module provides the software module withthe shaped object; and an access software module, wherein the accesssoftware module receives an access instruction from the validationsoftware module if the client computer passes the visual test, whereinthe client computer can access the service if the client computer passesthe visual test.
 2. The system of claim 1, wherein the software moduleis a flash software module.
 3. The system of claim 1, wherein thevalidation software module provides an id along with the shaped objectto the software module.
 4. The system of claim 3, wherein the id is asession id.
 5. The system of claim 3, wherein the id is a unique useridentifier.
 6. The system of claim 3, wherein the id is an ip address.7. The system of claim 3, wherein the id is the ip address and time thatthe request was made.
 8. The system of claim 3, wherein the softwaremodule provides the id along with a user selected shaped object to thevalidation software module.
 9. The system of claim 8, wherein thevalidation software module determines if the user selected shaped objectand the associated id that the validation software module receives fromthe software module are identical to the id and the shaped object thatthe validation software module originally sent to the software module.10. The system of claim 9, wherein the validation software moduleprovides an access instruction to the access module.
 11. The system ofclaim 10, wherein access module provides the client computer access tothe service.
 12. The system of claim 9, wherein the id expires after thevalidation software module determines if the user selected shaped objectand the associated id that the validation software module receives fromthe software module are identical to the id and the shaped object thatthe validation software module originally sent to the validationsoftware module.
 13. The system of claim 1, wherein the validationmodule provides a plurality of false shapes to the software module inorder to make image filtering more difficult.
 14. The system of claim 1,wherein the predetermined action comprises a selection with a mousepointer of the shaped object displayed within the video display withinthe predetermined time period.
 15. The system of claim 1, wherein thepredetermined action comprises a dragging of the shaped object displayedwithin the video display within the predetermined time period.
 16. Thesystem of claim 1, wherein the shaped object is a geometric shape. 17.The system of claim 1, wherein the shaped object is a cartoon character.18. The system of claim 1, wherein the shaped object is a graphicallyimaged character.
 19. The system of claim 1, wherein the shaped objectis a graphical icon.
 20. The system of claim 1, wherein the service isan account registration service.
 21. The system of claim 20, wherein ane-mail account can be created with the account registration service. 22.The system of claim 21, wherein an electronic subscription can becreated with the account registration service.
 23. The system of claim1, wherein the service is an electronic mail service.
 24. The system ofclaim 1, wherein the service is a poll service.
 25. The system of claim1, wherein the service is a contest service.
 26. The system of claim 1,wherein the service is access to web-based content.
 27. The system ofclaim 1, wherein the service is access to electronic content.
 28. Thesystem of claim 1, wherein the automated program is an automated script.29. The system of claim 1, wherein the network is the Internet.
 30. Thesystem of claim 1, wherein the network is a wireless network.
 31. Thesystem of claim 1, wherein the network is a local area network.
 32. Thesystem of claim 1, wherein the network is a world area network.
 33. Amethod for restricting access of automated programs to computingservices, the method comprising: receiving a request to perform acomputing service; determining whether a set of criteria has been met;requesting a visual test if the set of criteria has not been met, thevisual test including a requirement that a predetermined action on ashaped object take place within a given time period; and performing thecomputing service if the set of criteria has been met or if thepredetermined action on the shaped object takes place within the giventime period.
 34. The method of claim 33, wherein the computing serviceis the sending of an e-mail message.
 35. The method of claim 33, whereinthe set of criteria is a maximum number of recipients for an e-mailmessage.
 36. The system of claim 33, wherein the predetermined actioncomprises a selection with a mouse pointer of the shaped objectdisplayed within the video display within the predetermined time period.37. The system of claim 33, wherein the predetermined action comprises adragging of the shaped object displayed within the video display withinthe predetermined time period.
 38. The system of claim 33, wherein theshaped object is a geometric shape.
 39. The system of claim 33, whereinthe shaped object is a cartoon character.
 40. The system of claim 33,wherein the shaped object is a graphically imaged character.
 41. Thesystem of claim 33, wherein the shaped object is a graphical icon. 42.The system of claim 33, wherein the computing service is an accountregistration service.
 43. The system of claim 42, wherein an e-mailaccount can be created with the account registration service.
 44. Thesystem of claim 42, wherein an electronic subscription can be createdwith the account registration service.
 45. The system of claim 33,wherein the computing service is an electronic mail service.
 46. Thesystem of claim 33, wherein the computing service is a voting in acomputerized poll.
 47. The system of claim 33, wherein the computingservice is entering a computerized contest.
 48. The system of claim 33,wherein the computing service is access to web-based content.
 49. Thesystem of claim 33, wherein the computing service is access toelectronic content.
 50. The system of claim 33, wherein the automatedprogram is an automated script.
 51. A system for diminishing the use ofan automated program in a networked computing environment comprising: aserver that can provide access to a service, wherein the service isstored on a memory associated with server; a software module stored onthe server, wherein the software module provides a client computer witha visual test upon a request transmitted through a network by the clientcomputer for the service, wherein the visual test is displayed on avideo display, wherein the visual test requires the client computer toperform a predetermined action on a geometric shape displayed on thevideo display in order to gain access to the service; a validationsoftware module stored on the server, wherein the validation softwaremodule receives a request from the software module for the geometricshape to be displayed on the video display, wherein the validationsoftware module randomly selects a geometric shape to be transmitted tothe flash software module, wherein the validation software moduleprovides the software module with the geometric shape; and an accesssoftware module, wherein the access software module receives an accessinstruction from the validation software module if the client computerpasses the visual test, wherein the client computer can access theservice if the client computer passes the visual test.
 52. The system ofclaim 51, wherein the software module is a flash software module. 53.The system of claim 51, wherein the validation software module providesan id along with the geometric shape to the software module.
 54. Thesystem of claim 53, wherein the id is a session id.
 55. The system ofclaim 53, wherein the id is a unique user identifier.
 56. The system ofclaim 53, wherein the id is an ip address.
 57. The system of claim 53,wherein the id is an ip address and the time that the request was made.58. The system of claim 53, wherein the software module provides the idalong with a user selected geometric shape to the validation softwaremodule.
 59. The system of claim 58, wherein the validation softwaremodule determines if the user selected geometric shape and theassociated id that the validation software module receives from thesoftware module are identical to the id and the geometric shape that thevalidation software module originally sent to the validation softwaremodule.
 60. The system of claim 59, wherein the validation softwaremodule provides an access instruction to the access module.
 61. Thesystem of claim 60, wherein access module provides the client computeraccess to the service.
 62. The system of claim 59, wherein the idexpires after the validation software module determines if the userselected geometric shape and the associated id that the validationsoftware module receives from the software module are identical to theid and the geometric shape that the validation software moduleoriginally sent to the software module.
 63. The system of claim 51,wherein the validation module provides a plurality of false shapes tothe software module in order to make image filtering more difficult. 64.The system of claim 51, wherein the predetermined action comprises aselection with a mouse pointer of geometric shape displayed within thevideo display within the predetermined time period.
 65. The system ofclaim 51, wherein the predetermined action comprises a dragging of thegeometric shape displayed within the video display within thepredetermined time period.
 66. The system of claim 51, wherein theservice is an account registration service.
 67. The system of claim 51,wherein an e-mail account can be created with the account registrationservice.
 68. The system of claim 51, wherein an electronic subscriptioncan be created with the account registration service.
 69. The system ofclaim 51, wherein the service is an electronic mail service.
 70. Thesystem of claim 51, wherein the service is a poll service.
 71. Thesystem of claim 51, wherein the service is a contest service.
 72. Thesystem of claim 51, wherein the service is access to web-based content.73. The system of claim 51, wherein the service is access to electroniccontent.
 74. The system of claim 51, wherein the automated program is anautomated script.
 75. The system of claim 51, wherein the network is theInternet.
 76. The system of claim 51, wherein the network is a wirelessnetwork.
 77. The system of claim 51, wherein the network is a local areanetwork.
 78. The system of claim 51, wherein the network is a world areanetwork.
 79. A system for diminishing the use of an automated program ina networked computing environment comprising: a server that can provideaccess to a service, wherein the service is stored on a memoryassociated with server; a software module stored on the server, whereinthe software module provides a client computer with a visual test upon arequest transmitted through a network by the client computer for theservice, wherein the visual test is displayed on a video display,wherein the visual test requires the client computer to perform apredetermined action on a non-textual based image displayed on the videodisplay in order to gain access to the service; a validation softwaremodule stored on the server, wherein the validation software modulereceives a request from the software module for the non-textual basedimage to be displayed on the video display, wherein the validationsoftware module randomly selects a non-textual based image to betransmitted to the software module, wherein the validation softwaremodule provides the software module with the non-textual based image;and an access software module, wherein the access software modulereceives an access instruction from the validation software module ifthe client computer passes the visual test, wherein the client computercan access the service if the client computer passes the visual test.80. The system of claim 79, wherein the software module is a flashsoftware module.
 81. The system of claim 79, wherein the validationsoftware module provides an id along with the non-textual based image tothe software module.
 82. The system of claim 81, wherein the id is asession id.
 83. The system of claim 81, wherein the id is a unique useridentifier.
 84. The system of claim 81, wherein the id is an ip address.85. The system of claim 81, wherein the id is an ip address and the timethat the request was made.
 86. The system of claim 81, wherein thesoftware module provides the id along with a user selected non-textualbased image to the validation software module.
 87. The system of claim86, wherein the validation software module determines if the userselected non-textual based image and the associated id that thevalidation software module receives from the software module areidentical to the id and the non-textual based image that the validationsoftware module originally sent to the software module.
 88. The systemof claim 87, wherein the validation software module provides an accessinstruction to the access module.
 89. The system of claim 88, whereinaccess module provides the client computer access to the service. 90.The system of claim 87, wherein the id expires after the validationsoftware module determines if the user selected shaped object and theassociated id that the validation software module receives from thesoftware module are identical to the id and the shaped object that thevalidation software module originally sent to the validation softwaremodule.
 91. The system of claim 79, wherein the validation moduleprovides a plurality of false shapes to the software module in order tomake image filtering more difficult.
 92. The system of claim 79, whereinthe predetermined action comprises a selection with a mouse pointer ofthe non-textual based image displayed within the video display withinthe predetermined time period.
 93. The system of claim 79, wherein thepredetermined action comprises a dragging of the non-textual based imagedisplayed within the video display within the predetermined time period.94. The system of claim 79, wherein the non-textual based image is ageometric shape.
 95. The system of claim 79, wherein the non-textualbased image is a cartoon character.
 96. The system of claim 79, whereinthe non-textual based image is a graphically imaged character.
 97. Thesystem of claim 79, wherein the non-textual based image is a graphicalicon.
 98. The system of claim 79, wherein the service is an accountregistration service.
 99. The system of claim 79, wherein an e-mailaccount can be created with the account registration service.
 100. Thesystem of claim 79, wherein an electronic subscription can be createdwith the account registration service.
 101. The system of claim 79,wherein the service is an electronic mail service.
 102. The system ofclaim 79, wherein the service is a poll service.
 103. The system ofclaim 79, wherein the service is a contest service.
 104. The system ofclaim 79, wherein the service is access to web-based content.
 105. Thesystem of claim 79, wherein the service is access to electronic content.106. The system of claim 79, wherein the automated program is anautomated script.
 107. The system of claim 79, wherein the network isthe Internet.
 108. The system of claim 79, wherein the network is awireless network.
 109. The system of claim 79, wherein the network is alocal area network.
 110. The system of claim 79, wherein the network isa world area network.
 111. A method for restricting access of anautomated program in an electronic mail service, the method comprising:receiving a request to send an e-mail message; determining whether amaximum number of recipients has been exceeded; requesting a visual testif the maximum number of recipients has been exceeded, the visual testincluding a requirement that a predetermined action on a shaped objecttake place within a given time period; and sending the e-mail message ifthe set of criteria has been met or if the predetermined action on theshaped object takes place within the given time period.
 112. The methodof claim 111, wherein the predetermined action comprises a selectionwith a mouse pointer of the shaped object displayed within the videodisplay within the predetermined time period.
 113. The method of claim111, wherein the predetermined action comprises a dragging of the shapedobject displayed within the video display within the predetermined timeperiod.
 114. The method of claim 111, wherein the visual test isdisplayed on a video display.
 115. The method of claim 111, wherein theshaped object is a geometric shape.
 116. The method of claim 111,wherein the shaped object is a cartoon character.
 117. The system ofclaim 111, wherein the shaped object is a graphically imaged character.118. The system of claim 111, wherein the shaped object is a graphicalicon.